/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ventas.beans;

import entities.Pedido;
import entities.Usuario;
import facades.EstadoPedidoFacade;
import facades.PedidoFacade;
import javax.inject.Named;
import javax.enterprise.context.SessionScoped;
import java.io.Serializable;
import java.util.Date;
import javax.enterprise.event.Event;
import javax.inject.Inject;
import qualifiers.EventoEntidadCreada;
import qualifiers.UsuarioLogeado;

/**
 *
 * @author damfercer
 */
@Named(value = "nuevoPedidoBean")
@SessionScoped
public class NuevoPedidoBean implements Serializable {
    @Inject
    @UsuarioLogeado
    Usuario usuarioLogeado;
    @Inject
    private Pedido nuevoPedido;
    @Inject
    private PedidoFacade pedidoFacade;
    @Inject
    private EstadoPedidoFacade estadoPedidoFacade;
    @Inject
    @EventoEntidadCreada
    Event<Pedido> eventoNuevoPedido;

    /**
     * Creates a new instance of NuevoPedidoBean
     */
    public NuevoPedidoBean() {
    }

    /**
     * @return the nuevoPedido
     */
    public Pedido getNuevoPedido() {
        return nuevoPedido;
    }

    /**
     * @param nuevoPedido the nuevoPedido to set
     */
    public void setNuevoPedido(Pedido nuevoPedido) {
        this.nuevoPedido = nuevoPedido;
    }
    
    public String crearPedido(){
        nuevoPedido.setEstado(estadoPedidoFacade.find(1));
        Date ahora=new Date();
        nuevoPedido.setFechaCreacion(ahora);
        nuevoPedido.setUltimaModificacion(ahora);
        nuevoPedido.setUsuarioCreador(usuarioLogeado);
        pedidoFacade.create(nuevoPedido);
        eventoNuevoPedido.fire(nuevoPedido);
        return "/views/ventas/EditarPedido?faces-redirect=true";
    }
    
    public void reinitPedido(){
        this.nuevoPedido=new Pedido();
    }
}
